<?php

/**
 * Controlardor de gestión de regalos
 *
 */
class controlador_regalos {

    /**
     * Método por defecto de entrada en la web
     */
    public function ver_regalo() {
        $obj_regalo = new Regalo();
        if (!$params_regalo = $obj_regalo->get($_GET['id'])) {
            header('location:../home');
        }

        require 'app/views/ver_regalo.php';
    }

    /**
     * Método para listar regalos
     */
    public function ver_regalos() {
        $obj_regalos = new Regalo();
        $params_regalo = $obj_regalos->obtener_todos_regalos();

        require 'app/views/listado_regalos.php';
    }

    /**
     * Método por defecto de entrada en la web
     */
    public function registro_regalo() {
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $obj_regalo = new Regalo();

            //Limpiamos los campos y los guardamos en variables
            $nombre = test_input($_POST['nombre']);
            $descripcion = test_input($_POST['descripcion']);
            $precio = test_input($_POST['precio']);
            $imagen = $_FILES["imagen"]["name"];

            $error = false;
            // MIME types permitidos
            $mime = array('image/jpg', 'image/jpeg', 'image/gif', 'image/png');
            // Buscamos si el archivo que subimos tiene el MIME type que permitimos en nuestra subida
            if (!in_array($_FILES['imagen']['type'], $mime)) {
                $error = true;
            }
            // Le decimos al usuario que se olvido de subir un archivo
            if ($_FILES['imagen']['type'] == '') {
                $error = true;
            }
            // Indicamos hasta que peso de archivo puede subir el usuario.
            if ($_FILES['imagen']['size'] > '2097152') {
                $error = true;
            }

            if (!empty($nombre) && !empty($descripcion) && !empty($imagen) && !empty($precio) && (!$error)) {
                //comprobamos que no exista imagen con mismo nombre
                $i = 1;
                while (file_exists("../betporra/web/images/regalos/$imagen")) {
                    $imagen = "($i)" . $_FILES["imagen"]["name"];
                    $i++;
                }

                $array_datos = array(
                    'nombre' => $nombre,
                    'descripcion' => $descripcion,
                    'precio' => $precio,
                    'imagen' => $imagen
                );
                $obj_regalo->set($array_datos);
                $ultima_id = $obj_regalo->get_last_id();

                move_uploaded_file($_FILES["imagen"]["tmp_name"], "../betporra/web/images/regalos/$imagen");
                $_SESSION['adminbetporra_msj'] = 'Reglo guardado correctamente.';
                header("location:ver_regalo/$ultima_id");
            } else {
                $_SESSION['adminbetporra_msj'] = 'No se han introducido todos los datos.';
                header('location:registro_regalo');
            }
        } else {
            include 'app/views/registro_regalo.php';
        }
    }

    /**
     * Formulario para editar premios
     */
    public function editar() {
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $obj_regalo = new Regalo();

            //Limpiamos los campos y los guardamos en variables
            $nombre = test_input($_POST['nombre']);
            $descripcion = test_input($_POST['descripcion']);
            $precio = test_input($_POST['precio']);
            $id = $_GET['id'];
            if (isset($_POST['disponible'])) {
                $disponible = 1;
            } else {
                $disponible = 0;
            }

            $array_datos = array(
                "id" => $id,
                "nombre" => $nombre,
                "descripcion" => $descripcion,
                "disponible" => $disponible,
                "precio" => $precio
            );

            $obj_regalo->edit($array_datos);
            $_SESSION['adminbetporra_msj'] = 'Regalo modificado correctamente.';
            header("location: ../ver_regalo/$id");
        } else {
            $obj_regalo = new Regalo();
            if (!$obj_regalo->get($_GET['id'])) {
                header('location:../regalos');
            } else {
                require 'app/views/modificar_regalo.php';
            }
        }
    }

    public function eliminar_regalo() {
        $regalo = $_GET['id'];
        $obj_regalo = new Regalo();
        $obj_regalo->delete($regalo);

        $_SESSION['adminbetporra_msj'] = 'Regalo eliminado correctamente.';
        header("location:../regalos");
    }

}

?>